In a conventional wireless packet communication method, after only one wireless channel for use is determined in advance, it is detected prior to the transmission of a data packet whether or not this wireless channel is idle (carrier sense), and one data packet is transmitted only when this wireless channel is idle. Such control allows a plurality of STAs to share one wireless channel at different times ((1) “International Standard ISO/IEC 8802-11 ANSI/IEEE Std. 802.11, 1999 edition, Information technology—Telecommunications and information exchange between systems—Local and metropolitan area networks—Specific requirements—Part 11: Wireless LAN Medium Access Control (MAC) and Physical Layer (PHY) specifications”, (2) “Low-powered Data Communication System/Broadband Mobile Access Communication System (CSMA) Standard”, ARIB STD-T71 version 1.0, Association of Radio Industries and Businesses, settled in 2000).
Meanwhile, in order to enhance data packet transmission efficiency, a wireless packet communication method is being considered in which multiple wireless channels, if found idle by carrier sense, are used for simultaneous transmission of a plurality of data packets. In this method, for example, if there are two idle wireless channels while there are three data packets, the two wireless channels are used for the simultaneous transmission of two out of the three data packets. Further, for example, if there are three idle wireless channels while there are two data packets, the two wireless channels are used for the simultaneous transmission of all (two) the data packets.
In order to enhance data packet transmission efficiency, another wireless packet communication method is being considered in which a known MIMO technique (Kurosaki et al., “100 Mbit/s SDM-COFDM over MIMO Channel for Broadband Mobile Communications”, Technical Reports of the Institute of Electronics, Information and Communication Engineers, A P 2001-96, RCS2001-135(2001-10)) is used for simultaneous transmission of a plurality of data packets via one wireless channel. The space division multiplexing (SDM) here is a system in which different data packets are simultaneously transmitted from a plurality of antennas via the same wireless channel, and the plural data packets simultaneously transmitted via the same wireless channel are received through digital signal processing according to different propagation coefficients of the respective data packets received by a plurality of antennas of an opposing STA. Note that the number of MIMOs is determined according to the propagation coefficient and the like.
Incidentally, in the method of simultaneously transmitting a plurality of data packets by using multiple wireless channels, when center frequencies of the multiple wireless channels that are simultaneously used are close to each other, leakage power leaking from one of the wireless channels to a frequency domain used by another wireless channel has a significant influence. In the transmission of a data packet, after a transmit-side STA transmits the data packet, a receive-side STA generally transmits a reception acknowledgment packet (an ACK packet, a NACK packet) to the transmit-side STA in response to the received packet. When the transmit-side STA attempts to receive this acknowledgement packet (hereinafter, ACK packet), the influence of the leakage power from the other wireless channel being used for the simultaneous transmission poses a problem.
For example, as shown in FIG. 48, such a case will be assumed where center frequencies of a wireless channel #1 and a wireless channel #2 are close to each other and the transmission time is different between data packets simultaneously transmitted from the respective wireless channels. Here, since the data packet transmitted from the wireless channel #1 is short, the wireless channel #2 is in a course of transmission when an ACK packet for this packet is received. Therefore, there is a possibility that leakage power from the wireless channel #2 may prevent the reception of the ACK packet via the wireless channel #1. Under such circumstances, no improvement in throughput can be expected even in the simultaneous transmission using the multiple wireless channels.
Incidentally, the case like this occurs due to difference in packet time length (transmission time=packet size) between the data packets if transmission rates of the respective wireless channels are equal to each other, and if the transmission rates of the respective wireless channels are also taken into consideration, this case occurs due to difference in packet time length (transmission time=data size/transmission rate).
Meanwhile, in a wireless LAN system and the like, data size of data frames inputted from a network is not constant. Therefore, when the inputted data frames are sequentially converted to data packets for transmission, the packet time length (transmission time) of the data packets changes. Consequently, as shown in FIG. 48, even if the plural data packets are simultaneously transmitted, there is a higher possibility of a failure in receiving the ACK packet, due to the difference in the packet time length between the data packets.
Regarding this problem, a method is being considered in which the packet time lengths of a plurality of data packets to be simultaneously transmitted are made equal or equivalent so that the transmissions of the plural data packets are completed simultaneously or substantially simultaneously. This allows a transmitting STA to receive all ACK packets without being affected by leakage power or the like between the wireless channels since the transmitting STA is not in the course of transmission at the timing when the ACK packets for the plural respective data packets arrive, which can contribute to improvement in throughput. The “simultaneous transmission” in this specification refers to a state in which a plurality of data packets with the same packet time length (transmission time) are simultaneously transmitted.
Here, as methods of generating a plurality of data packets for simultaneous transmission from a data frame/data frames, the following three methods are available. For example, when there is one data frame and the number of idle channels is two, the data frame is divided so that two data packets are generated as shown in FIG. 49(1). When there are three data frames and the number of idle channels is two, for example, a data frame 2 is divided and the resultants are combined with a data frame 1 and a data frame 3 respectively so that two data packets are generated, as shown in FIG. 49(2). Alternatively, as shown in FIG. 49(3), a data frame 1 and a data frame 2 are combined and a dummy bit is added to a data frame 3 so that two data packets equal in packet time length are generated. Further, when multiple wireless channels are used and transmission rates of the respective wireless channels are different, a size ratio of data packets is adjusted according to a ratio of the transmission rates so that packet time lengths become equal to each other.
Incidentally, when the transmission of a data packet fails, a receiving-end transmits a reply to that effect by means of an ACK packet, or does not return the ACK packet itself. In this case, a transmit-side STA determines that the transmission of the data packet failed and executes retransmission processing for this data packet.
[Problem 1 at the Time of Retransmission]
It is assumed here that one channel out of, for example, three channels is busy at the time of initial transmission, and two data packets are generated so as to correspond to the two idle channels and are simultaneously transmitted. Two idle wireless channels are not always available when retransmission processing is thereafter executed due to a failure of transmission of at least one of the data packets. For example, when the number of idle wireless channels becomes larger at the time of the retransmission processing than that at the time of the initial transmission as shown in FIGS. 50(1), (2), if all the wireless channels that are idle at the time of the retransmission processing can be used for simultaneous transmission, instead of the retransmission using the same wireless channels as those used for the initial transmission, this can contribute to improvement in throughput.
On the other hand, there is also a case where the number of idle wireless channels becomes smaller at the time of retransmission as shown in FIG. 51. In this case, two data packets to be retransmitted are divided for two separate transmissions. At this time, carrier sense is necessary before each of the retransmission packets is transmitted, and thus it is not always possible to transmit them continuously, which may possibly cause reduced throughput, increased average delay time, and increased jitter.
[Problem 2 at the Time of Retransmission]
Next, problems when conventional retransmission methods are applied to simultaneous transmission will be described, though a retransmission method in the simultaneous transmission will not be particularly specified.
FIG. 52 shows a conventional retransmission method 1. Here, it is assumed that the number of simultaneously transmittable data packets is 3 and this number does not change at transmission timings t1, t2, t3 obtained by carrier sense. A transmit-side STA A generates data packets P1, P2, P3 from a data frame F1 and generates data packets P4, P5, P6 from a data frame F2. Note that P1 to P6 correspond to sequence numbers of the respective data packets.
The STA A simultaneously transmits the data packets P1 to P3 at the transmission timing t1. Thereafter, based on ACK packets from a receive-side STA, it confirms a success of transmission of the data packets P1, P3 and a failure of transmission of the data packet 2. The STA A determines that the data frame F1 cannot be restored due to the failure of transmission of the data packet P2 to retransmit all the data packets P1 to P3 corresponding to the data frame F1 at the next transmission timing t2. At this time, the data packets P1, P3 are retransmitted even though having been normally received. However, if the transmission of the data packet P1 fails at this time, the data packets P1 to P3 are retransmitted again at the next transmission timing t3.
Thus, the transmit-side STA A simultaneously transmits a plurality of data packets included in a data frame, and simultaneously retransmits the same plural data packets included in the data frame again when failing in the transmission of part thereof. This means that the data packet successfully transmitted is also retransmitted, so that channel utilization is lowered and throughput is unavoidably lowered.
In a MIMO system in particular, if the number of multiplexing is increased, the influence that a fluctuation in wireless channels gives to transmission quality becomes more significant, resulting in a higher packet error rate and a higher bit error rate. Therefore, if all data packets including data packets which have been successfully transmitted are simultaneously retransmitted due to the failure of part of the data packets that have been simultaneously transmitted, a probability of another transmission failure becomes high, so that channel utilization and throughput have been unavoidably lowered.
FIG. 53 shows a conventional retransmission method 2. It is assumed here that the number of simultaneously transmittable data packets is 3 and this number does not change at transmission timings t1, t2, t3 obtained by carrier sense. A transmit-side STA A generates data packets P1, P2, P3 from a data frame F1 and generates data packets P4, P5, P6 from a data frame F2. It is assumed here that the data packets P1 to P6 are equal in the transmission time.
The STA A simultaneously transmits the data packets P1 to P3 at the transmission timing t1. Thereafter, based on ACK packets from a receive-side STA, it confirms a success of transmission of the data packets P1, P3 and a failure of transmission of the data packet P2. Then, at the next transmission timing t2, it simultaneously transmits data packets P4, P5 that have been simultaneously generated since the retransmission of only the not-successfully-transmitted data packet P2 leads to poor efficiency. Thereafter, based on ACK packets from the receive-side STA, it confirms a success of transmission of the data packets P4, P5 and a failure of transmission of the data packet P2. Then, at the next transmission timing t3, it simultaneously transmits the data packet P2 whose transmission has failed again and the new data packet P6. Thereafter, based on ACK packets from the receive-side STA, it confirms a success of transmission of the data packet P6 and a failure of transmission of the data packet P2.
When the data packet P6 is successfully transmitted while the failure of transmission of the data packet P2 is thus repeated, the data packets P4 to P6 constituting the data frame F2 have all received. As a result, while the data frame F1 is left unrestorable due to the failure of transmission of the data packet P2, the next data frame F2 is restored so that the sequence is reversed. At this time, in order to make the sequence of the restored data frames in the proper order, it is necessary to retain the first restored data frame F2 until the data packet P2 is successfully transmitted and the data frame F1 is restored.
Further, though not described in FIG. 53, if the data packet P2, at the time of its retransmission, is simultaneously transmitted with a data packet generated from a next data frame F3 and the transmission of the data packet 2 fails, this results in a situation where the data frame F3 is first restored while the data frame F1 is left unrestorable. If such processing is repeated, the sequentially restored data frames F2, F3, . . . are retained until the data packet P2 is successfully transmitted and the data frame F1 is restored, and therefore, a reception buffer size in the receive-side STA has to be made large.
Incidentally, it is assumed here that the data packets P1 to P6 generated from the data frames F1, F2 are equal in the transmission time, but when the data packets P1 to P3 and the data packets P4 to P6 are different in the transmission time, the aforesaid influence of the leakage power between the channels poses a problem if the data packets P4, P5 are simultaneously transmitted at the time of the retransmission of the packet P2.
An object of the present invention is to provide a retransmission method for realizing improvement in throughput also in retransmission processing while taking advantage of simultaneous transmission. Another object is to provide a retransmission method for not only improving throughput in retransmission processing but also facilitating processing of restoring to a data frame a plurality of data packets including a retransmitted data packet, when the data packets are generated from the data frame and simultaneously transmitted.